Birkhoff Algorithm
   HOME

TheInfoList



OR:

Birkhoff's algorithm (also called Birkhoff-von-Neumann algorithm) is an algorithm for decomposing a
bistochastic matrix In mathematics, especially in probability and combinatorics, a doubly stochastic matrix (also called bistochastic matrix) is a square matrix X=(x_) of nonnegative real numbers, each of whose rows and columns sums to 1, i.e., :\sum_i x_=\sum_j x_=1 ...
into a convex combination of
permutation matrices In mathematics, particularly in matrix theory, a permutation matrix is a square binary matrix that has exactly one entry of 1 in each row and each column and 0s elsewhere. Each such matrix, say , represents a permutation of elements and, when ...
. It was published by
Garrett Birkhoff Garrett Birkhoff (January 19, 1911 – November 22, 1996) was an American mathematician. He is best known for his work in lattice theory. The mathematician George Birkhoff (1884–1944) was his father. Life The son of the mathematician Geo ...
in 1946. It has many applications. One such application is for the problem of
fair random assignment Fair random assignment (also called probabilistic one-sided matching) is a kind of a fair division problem. In an ''assignment problem'' (also called '' house-allocation problem'' or '' one-sided matching''), there ''m'' objects and they have to be ...
: given a randomized allocation of items, Birkhoff's algorithm can decompose it into a lottery on deterministic allocations.


Terminology

A ''bistochastic matrix'' (also called: ''doubly-stochastic'') is a matrix in which all elements are greater than or equal to 0 and the sum of the elements in each row and column equals 1. An example is the following 3-by-3 matrix: \begin 0.2 & 0.3 & 0.5 \\ 0.6 & 0.2 & 0.2 \\ 0.2 & 0.5 & 0.3 \end A '' permutation matrix'' is a special case of a bistochastic matrix, in which each element is either 0 or 1 (so there is exactly one "1" in each row and each column). An example is the following 3-by-3 matrix: \begin 0 & 1 & 0 \\ 0 & 0 & 1 \\ 1 & 0 & 0 \end A Birkhoff decomposition (also called: Birkhoff-von-Neumann decomposition) of a bistochastic matrix is a presentation of it as a sum of permutation matrices with non-negative weights. For example, the above matrix can be presented as the following sum: 0.2 \begin 0 & 1 & 0 \\ 0 & 0 & 1 \\ 1 & 0 & 0 \end + 0.2 \begin 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end + 0.1 \begin 0 & 1 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 1 \end + 0.5 \begin 0 & 0 & 1 \\ 1 & 0 & 0 \\ 0 & 1 & 0 \end Birkhoff's algorithm receives as input a bistochastic matrix and returns as output a Birkhoff decomposition.


Tools

A permutation set of an ''n''-by-''n'' matrix ''X'' is a set of ''n'' entries of ''X'' containing exactly one entry from each row and from each column. A theorem by
Dénes Kőnig Dénes Kőnig (September 21, 1884 – October 19, 1944) was a Hungarian mathematician of Jewish heritage who worked in and wrote the first textbook on the field of graph theory. Biography Kőnig was born in Budapest, the son of mathematician Gyu ...
says that:
''Every bistochastic matrix has a permutation-set in which all entries are positive.''
The positivity graph of an ''n''-by-''n'' matrix ''X'' is a bipartite graph with 2''n'' vertices, in which the vertices on one side are ''n'' rows and the vertices on the other side are the ''n'' columns, and there is an edge between a row and a column iff the entry at that row and column is positive. A permutation set with positive entries is equivalent to a
perfect matching In graph theory, a perfect matching in a graph is a matching that covers every vertex of the graph. More formally, given a graph , a perfect matching in is a subset of edge set , such that every vertex in the vertex set is adjacent to exactl ...
in the positivity graph. A perfect matching in a bipartite graph can be found in polynomial time, e.g. using any algorithm for
maximum cardinality matching Maximum cardinality matching is a fundamental problem in graph theory. We are given a graph , and the goal is to find a matching containing as many edges as possible; that is, a maximum cardinality subset of the edges such that each vertex is ad ...
. Kőnig's theorem is equivalent to the following:
''The positivity graph of any bistochastic matrix admits a perfect matching.''
A matrix is called scaled-bistochastic if all elements are weakly-positive, and the sum of each row and column equals ''c'', where ''c'' is some positive constant. In other words, it is ''c'' times a bistochastic matrix. Since the positivity graph is not affected by scaling:
''The positivity graph of any scaled-bistochastic matrix admits a perfect matching.''


Algorithm

Birkhoff's algorithm is a
greedy algorithm A greedy algorithm is any algorithm that follows the problem-solving heuristic of making the locally optimal choice at each stage. In many problems, a greedy strategy does not produce an optimal solution, but a greedy heuristic can yield locally ...
: it greedily finds perfect matchings and removes them from the fractional matching. It works as follows. # Let ''i'' = 1. # Construct the positivity graph ''GX'' of ''X''. # Find a perfect matching in ''GX'', corresponding to a positive permutation set in ''X''. # Let ''z'' 'i''> 0 be the smallest entry in the permutation set. # Let ''P'' 'i''be a permutation matrix with 1 in the positive permutation set. # Let X := ''X'' − ''z'' 'i''''P'' 'i'' # If X contains nonzero elements, Let ''i'' = ''i'' + 1 and go back to step 2. # Otherwise, return the sum: ''z'' ''P'' + ... ''+ z'' ''P'' + ... + ''z'' 'i''''P'' 'i'' The algorithm is correct because, after step 6, the sum in each row and each column drops by ''z'' 'i'' Therefore, the matrix ''X'' remains scaled-bistochastic. Therefore, in step 3, a perfect matching always exists.


Run-time complexity

By the selection of ''z'' 'i''in step 4, in each iteration at least one element of ''X'' becomes 0. Therefore, the algorithm must end after at most ''n''2 steps. However, the last step must simultaneously make ''n'' elements 0, so the algorithm ends after at most ''n''2 − ''n'' + 1 steps, which implies O(n^2). In 1960, Joshnson, Dulmage and Mendelsohn showed that Birkhoff's algorithm actually ends after at most ''n''2 − 2''n'' + 2 steps, which is tight in general (that is, in some cases ''n''2 − 2''n'' + 2 permutation matrices may be required).


Application in fair division

In the
fair random assignment Fair random assignment (also called probabilistic one-sided matching) is a kind of a fair division problem. In an ''assignment problem'' (also called '' house-allocation problem'' or '' one-sided matching''), there ''m'' objects and they have to be ...
problem, there are ''n'' objects and ''n'' people with different preferences over the objects. It is required to give an object to each person. To attain fairness, the allocation is randomized: for each (person, object) pair, a probability is calculated, such that the sum of probabilities for each person and for each object is 1. The
probabilistic-serial procedure A simultaneous eating algorithm (SE) is an algorithm for allocating divisible objects among agents with ordinal preferences. "Ordinal preferences" means that each agent can rank the items from best to worst, but cannot (or does not want to) specify ...
can compute the probabilities such that each agent, looking at the matrix of probabilities, prefers his row of probabilities over the rows of all other people (this property is called
envy-freeness Envy-freeness, also known as no-envy, is a criterion for fair division. It says that, when resources are allocated among people with equal rights, each person should receive a share that is, in their eyes, at least as good as the share received by a ...
). This raises the question of how to implement this randomized allocation in practice? One cannot just randomize for each object separately, since this may result in allocations in which some people get many objects while other people get no objects. Here, Birkhoff's algorithm is useful. The matrix of probabilities, calculated by the probabilistic-serial algorithm, is bistochastic. Birkhoff's algorithm can decompose it into a convex combination of permutation matrices. Each permutation matrix represents a deterministic assignment, in which every agent receives exactly one object. The coefficient of each such matrix is interpreted as a probability; based on the calculated probabilities, it is possible to pick one assignment at random and implement it.


Extensions

The problem of computing the Birkhoff decomposition with the minimum number of terms has been shown to be
NP-hard In computational complexity theory, NP-hardness ( non-deterministic polynomial-time hardness) is the defining property of a class of problems that are informally "at least as hard as the hardest problems in NP". A simple example of an NP-hard pr ...
, but some heuristics for computing it are known. This theorem can be extended for the general stochastic matrix with deterministic transition matrices. Budish, Che, Kojima and Milgrom generalize Birkhoff's algorithm to non-square matrices, with some constraints on the feasible assignments. They also present a decomposition algorithm that minimizes the variance in the expected values. Vazirani generalizes Birkhoff's algorithm to non-bipartite graphs.


See also

*
Birkhoff polytope The Birkhoff polytope ''B'n'' (also called the assignment polytope, the polytope of doubly stochastic matrices, or the perfect matching polytope of the complete bipartite graph K_) is the convex polytope in R''N'' (where ''N'' = ''n''2) who ...
*
Birkhoff decomposition (disambiguation) Birkhoff decomposition refers to two different mathematical concepts: * The Birkhoff factorization, introduced by George David Birkhoff at 1909, is the presentation of an invertible matrix with polynomial coefficients as a product of three matrice ...
*
Gordan's lemma Gordan's lemma is a lemma in convex geometry and algebraic geometry. It can be stated in several ways. * Let A be a matrix of integers. Let M be the set of non-negative integer solutions of A \cdot x = 0. Then there exists a finite subset of vector ...
- states that certain sets of vectors can be generated by a finite subset.


References

{{reflist Matrices Algorithms